---
title: "01-C、C++ 安装与配置"
created: 2025-11-28
tags:
- 项目筑基
---
# C / C++ 安装与配置
## **C / C++ 开发环境主要组成:编译器 + IDE**
- **编译器:**
- **gcc / g++**:开源、跨平台,主要用于 Linux 和 Windows(MinGW)
- **clang / clang++**:性能优秀、错误提示友好,适合 macOS、iOS 和高性能系统开发
- **MSVC(Microsoft Visual C++)**:Windows 原生编译器,适用于 Windows 桌面应用、游戏开发
- **IDE:**
- **Dev-C++**:轻量、快速的 C/C++ 编辑器,适合用来做题、学习
- **CLion**:由 JetBrains 提供的强大 IDE,适合工程级、嵌入式项目开发,集成了 CMake 支持和调试工具
- **Visual Studio**:功能强大的 Windows 原生 IDE,适合大型项目、Windows 专用开发
对于想要快速做 C 语言题目和小项目的人,**Dev-C++** 是最简便的选择。它内置了 **MinGW** 编译器,安装后就能直接使用,无需复杂配置。
## **Dev-C++**
- 内置 **MinGW 编译器**,无需额外安装
- **下载:
- 经典版 Orwell Dev-C++ 5.11:
- 活跃分支推荐 **小熊猫 Dev-C++(Red Panda)**:原版停更后的续作,中文界面、内置新版 MinGW,做题体验更好:
- 教训同总述篇:认官网/仓库链接,别依赖本地存的安装包
**如何使用 Dev-C++ 进行 C/C++ 编译**
1. **打开 Dev-C++**:
- 创建一个新的 C 文件或 C++ 文件(.c 或 .cpp)
2. **编写代码**:
- 直接在 Dev-C++ 中编写 C/C++ 程序,如:
``` c
#include
#include
int main() {
printf("Hello, World!\n");
return 0;
}
```
3. **编译和运行**:
- **快捷键**:按 **Ctrl + F9** 进行编译
- **运行**:按 **Ctrl + F10** 运行程序
Dev-C++ 会自动帮你完成编译和运行,背后是通过 **gcc** 编译器来执行的。
## **如何手动编译和运行 C/C++ 文件**
希望手动使用命令行来编译 C/C++ 文件,可以将 **Dev-C++ 的 MinGW 编译器路径**添加到 **环境变量**。
**找到 Dev-C++ 安装路径**:
- 例如,路径为:`C:\Program Files (x86)\Dev-Cpp\MinGW64\bin`
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/image-7d97a57b.png]]
**将路径添加到环境变量**:
- 右键“此电脑” → **属性** → **高级系统设置** → **环境变量**
- 在“系统变量”中找到 `Path`,点击 **编辑**
- 在最后添加 `C:\Program Files (x86)\Dev-Cpp\MinGW64\bin` 目录路径
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/image-c0a00475.png]]
**测试**:
- 打开命令行,输入 `gcc --version` 和 `g++ --version`,检查是否能正确显示版本信息。
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/image-16d7f1a1.png]]
使用命令行编译和运行 C 文件:
假设你的 C 文件名为 `test.c`:
```
gcc test.c -o test # 编译 C 文件
.\test # 运行编译生成的可执行文件
```
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/gcc-ca7c6fe8.gif]]
## **编译方式全家桶:gcc、make、CMake 到底谁干嘛
一句话理清三层关系:**gcc 是干活的(编译器),make 是监工(按 Makefile 调度 gcc),CMake 是写监工手册的(按 CMakeLists.txt 生成 Makefile)**。项目越大越往上层走。
### 第一层:编译器——gcc / g++(真正干编译的)
`gcc test.c -o test` 这一命令背后其实走了四步:
```text
test.c → 预处理(展开 #include/#define)→ 编译(成汇编)→ 汇编(成二进制 .o)→ 链接(把 .o 和库拼成可执行文件)
```
分步执行就能看中间产物(有时排查问题要用):
```
gcc -E test.c -o test.i # 预处理后停下
gcc -S test.i -o test.s # 生成汇编
gcc -c test.s -o test.o # 生成目标文件(二进制)
gcc test.o -o test # 链接
```
日常最常用的参数:
| 参数 | 作用 |
| --- | --- |
| `-o 名字` | 指定输出文件名 |
| `-g` | 带调试信息(配合 gdb / IDE 断点调试必加) |
| `-O2` | 优化级别(O0 不优化,O2 常用,O3 激进) |
| `-Wall` | 打开全部常见警告(建议养成习惯) |
| `-std=c++17` | 指定语言标准(c99/c11/c++11/c++17/c++20) |
| `-I目录` `-L目录` `-l库名` | 指定头文件目录 / 库目录 / 链接哪个库(如 `-lm` 链数学库) |
> 💡 同层的其他编译器:**clang/clang++**(macOS 默认,报错信息更友好,用法跟 gcc 几乎一致)、**MSVC 的 cl.exe**(Visual Studio 内置,Windows 原生,参数风格完全不同)。Dev-C++ 里点编译,背后调的就是它内置的 MinGW gcc——和你在命令行敲 gcc 是同一个东西。
### 附:gdb 命令行调试三板斧
编译时加了 `-g` 的程序才能调。`gdb test` 进入后:
| 命令 | 作用 |
| --- | --- |
| `break main` / `b 12` | 在函数名 / 行号设断点 |
| `run` | 开始跑,撞到断点停下 |
| `next` / `n` | 单步(不进函数);`step`/`s` 会进函数 |
| `print 变量` | 看变量当前值 |
| `continue` | 跑到下一个断点 |
| `quit` | 退出 |
> 💡 日常做题用 Dev-C++ 的鼠标断点就够;gdb 是 Linux/服务器上没 IDE 时的保命技能,这六个命令能解决大半排查。
### 第二层:make + Makefile——工程多了不能全手敲
一个工程几十上百个 .c 文件,总不能每次手敲一长串 gcc。**Makefile 就是把编译规则写下来,make 工具照着执行,而且只重编改过的文件(增量编译)**:
```makefile
# Makefile 示例(注意缩进必须是 Tab)
test: main.o func.o
gcc main.o func.o -o test
main.o: main.c
gcc -c main.c
func.o: func.c
gcc -c func.c
clean:
rm *.o test
```
之后只需要敲 `make`(重新编译)/ `make clean`(清理)。
### 第三层:CMake——Makefile 也不想手写了
Makefile 的问题:**换平台就得重写**(Windows 下没有 make,MSVC 又有自己的 nmake)。CMake 的思路是——我写一份**平台无关的 CMakeLists.txt**,CMake 帮我生成当前平台的构建文件(Linux 生成 Makefile,Windows/CLion 生成对应工程),真正编译还是 gcc/MSVC 干:
```cmake
# CMakeLists.txt 最小示例
cmake_minimum_required(VERSION 3.10)
project(Hello)
set(CMAKE_CXX_STANDARD 17)
add_executable(test main.c func.c)
```
命令行使用:
```
cmake -B build # 在 build/ 目录生成构建文件
cmake --build build # 实际编译
```
> 💡 **所以 CLion 打开项目总是先跑 CMake**——它默认就用 CMake 管理构建,`add_executable(test main.c func.c)` 这行就是告诉它"用这些源文件编译出 test"。Linux 课程/开源项目里看到"mkdir build && cmake .. && make"三板斧,就是这条链:**CMake 生成 → make 执行 → gcc 干活**。
| 层 | 工具 | 你写的文件 | 一句话 |
| --- | --- | --- | --- |
| 编译器 | gcc / clang / MSVC | —— | 真正把代码变可执行文件的 |
| 构建工具 | make | Makefile | 按规则调度编译,支持增量 |
| 构建系统生成器 | CMake | CMakeLists.txt | 一份配置,各平台生成各自的构建文件 |
## **工程级开发环境:CLion**
对于需要进行 C/C++ 工程项目开发的用户,**CLion** 是一个非常合适的选择。CLion 是由 JetBrains 提供的集成开发环境,专门为 C 和 C++ 设计,支持 CMake 构建系统,具有强大的调试功能和智能代码补全。
- 集成 CMake 构建系统
- 高效的代码补全和重构功能
- 强大的调试器支持
- 支持多平台(Windows、Linux、macOS)
- 嵌入式开发支持(如 ESP32,使用 CLion 配合 PlatformIO 插件)
### **CLion 安装与配置**
- **官网**:[CLion 官网下载](https://www.jetbrains.com/clion/)
- 安装并启动 CLion 后,它会自动检测本地的编译工具链(如 MinGW、MSVC 或 Clang)
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/image-7fbcbd39.png]]
破解:
解压破解包 下载完clion后启动再关闭 然后运行这个脚本 再次打开clion即破解完成(至2099)
(破解包已丢——CLion 同样可以走学生认证拿官方授权,见总述篇)
![[2-Learning/03-项目筑基/04-工具与环境/01-编程语言/assets/image-c27e96eb.png]]
## **微软 Visual Studio**
开发 **Windows 桌面应用**、**游戏开发**(如使用 DirectX)等项目的好选择。它有强大的调试工具、界面设计器和对 Windows 原生开发的优化。
### **Visual Studio 安装与配置**
- **官网**:[Visual Studio 官网下载](https://visualstudio.microsoft.com/)
- 选择安装 **Desktop development with C++** 工作负载,这样可以安装 MSVC 编译器。
暂无破解,而且非常庞大,不建议使用,除非是系统少了什么c环境才会用这个工具,之后学c#也会用到。
## C相关图形库
---
⬅️ [[2-Learning/03-项目筑基/04-工具与环境/工具安装与环境配置|工具安装与环境配置]] 🏠 [[00-工具与环境|00-工具与环境]] ➡️ [[02-python 安装与配置|python 安装与配置]]